Add new classes for eliminating xds config tears#11740
Add new classes for eliminating xds config tears#11740larry-safran merged 26 commits intogrpc:masterfrom
Conversation
xds/src/main/java/io/grpc/xds/XdsClusterSubscriptionRegistry.java
Outdated
Show resolved
Hide resolved
32c80c0 to
f995211
Compare
f5090ab to
9fcbe4c
Compare
|
Ready for review @ejona86 |
ejona86
left a comment
There was a problem hiding this comment.
I still have a good amount to review. Sending what I have.
ejona86
left a comment
There was a problem hiding this comment.
Nothing really new here; just a quick drive-by. Still need to look through the other parts of the PR.
1fac607 to
3f59a16
Compare
…ds aggregate and eds entries.
… as recommended by code review.
…ppearing in multiple trees or overlapping with the RDS.virtualHosts.
32a2975 to
d5dea83
Compare
ejona86
left a comment
There was a problem hiding this comment.
Found these comments pending. Sending
…leanUpRdsWatcher(). Let cancelWatcher remove the old RDS watcher instead of doing it explicitly in cleanUpRdsWatcher.
…related fixes and add some test utility methods for generating xds configuration.
…related fixes and add some test utility methods for generating xds configuration.
ejona86
left a comment
There was a problem hiding this comment.
Apparently I didn't send these comments out yesterday. (I'm still going through it, but you can work on these in parallel.)
…rings for cluster watcher parents.
…ject for parent. Don't send an update if the configuration hasn't changed.
| XdsWatcherBase<?> cdsWatcher = | ||
| resourceWatchers.get(CLUSTER_RESOURCE).watchers.get(clusterName); | ||
| if (cdsWatcher == null) { | ||
| return; // already released while waiting for the syncContext |
There was a problem hiding this comment.
This comment may be out-of-date. Since the subscription hasn't been removed from parent sets, this would only be possible if releaseSubscription() had already been called for this subscription (which is up to you whether is an error or not).
This is just defining the XdsDependencyManager and associated classes; no movement of any functionality.